Object-throwing video game system

ABSTRACT

An object-throwing video game system displays at least an image of a throwing body and an image of an object to be visually hurled from the throwing body in a game space. The object may be a hammer, a shot, or a discus, and the throwing body may be a contestant who hurls the hammer, the shot, or the discus. The image of the throwing body is controlled to visually move in preparation for visually hurling the image of the object in the game space in response to manual operation of a controller, and the image of the object is controlled to be visually hurled from the image of the throwing body in the game space in response to manual operation of the controller. An image of an object-throwing guide is also displayed in the game space to indicate a throwing direction in which to hurl the image of the object from the image of the throwing body and which progressively varies depending on the movement of the image of the throwing body for visually hurling the image of the object. The displayed object-throwing guide which indicates the throwing direction allows the game player to easily recognize visually the exact time at which to hurl the object. The object-throwing guide is displayed in changing colors to indicate the remaining number of turns that the throwing body has to make before hurling the object.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an object-throwing video game system,and more particularly to an object-throwing video game system whichemploys a cassette-type recording medium for storing video game data,such as an optical disk, a magnetic disk, a magnetooptical disk, or asemiconductor memory, a method of displaying a guide image in anobject-throwing video game which can be played on such anobject-throwing video game system, and a recording medium for storingvideo game data of an object-throwing video game which can be played onsuch an object-throwing video game system.

2. Description of the Prior Art

Various video game systems which have been proposed in the art includevideo game systems comprising a combination of a video game machinedesigned for home use and a television monitor, video game systemsdesigned as video game machines for business use, and video game systemscomprising a combination of a personal computer or work station, adisplay unit, and an audio output unit. These video game systemscommonly comprise a controller which can manually be operated by a gameplayer, a recording medium which stores game data including game programdata and graphic image data and audio data, a central processing unit(CPU) for performing a control process based on the game program data togenerate graphic images and sounds from the graphic image data and audiodata, a graphic processor for processing the graphic image data, anaudio processor for processing the audio data, a cathode-ray tube (CRT)for displaying graphic images, and a speaker for outputting sounds. Therecording medium may typically be a CD-ROM, a semiconductor memory, acassette with a built-in semiconductor memory, or the like.

Video games are available in an increasing number of different types andbecome more and more complex and diverse in nature. One type of videosports games which has been proposed recently allows the game player tomove a contestant displayed on the display screen of a televisionmonitor with a controller to play a virtual sports match in a game spacedisplayed on the display screen.

Sports contests include group competition contests such as soccer gamesand baseball games and individual competition contests. The individualcompetition contests are roughly classified into running contests,swimming contests, contests in which contestants fly, contests in whichcontestants lift objects, contests in which contestants fight with eachother, contests in which contestants hit targets with objects, andobject-throwing contests in which contestants throw objects. Theobject-throwing contests include shot put, hammer throw, discus throw,javelin throw, etc. If any of these object-throwing contests is realizedas a video game, then it will most likely be played by the game playeras follows: When the game player operates a controller of the video gamesystem, the control unit of the video game system visually moves acontestant displayed in a game space on the display screen of a displaymonitor based on a command entered from the controller thereby toperform in the contest.

In the shot put, the contestant throws the ball after he has turnedabout 180°. In the hammer throw and discus throw, the contestant hurlsthe hammer or discus after having turned a plurality of times in athrowing circle. In order to realize such an object-throwing contest asa video game, it is necessary at least to establish the throwing energyof the contestant with a controller operated by the game player, displaythe image of the contestant as he turns 180° or several times in a gamespace on the display screen, display the image of the contestant as hethrows the object in the game space with the controller while thecontestant is turning 180° or several times, and display the object asit flies in the game space based on the established throwing energy, athrowing direction, and a throwing angle, so that the contest performedin the game space will look like real contests as much as possible.

If the direction in which the object flies in the game space isdetermined based on only the posture of the contestant displayed in thegame space, however, the game player finds it difficult to decide theexact time for the contestant in the game space to hurl the object. Thisis because the game player has to decide the exact time for thecontestant in the game space to hurl the object based on only contestantimages that are successively displayed on the display screen.

In a hammer throw video game, a predictive vector represented by theimage of arms of the contestant in the game space differs from apredictive vector represented by the image of the hammer that is beingturned by the contestant. When a moving image of the contestant who isthrowing the hammer is generated using a motion capture process, inertiais visually expressed in the same manner as actual inertia. Therefore,the image of the hammer is displayed behind the image of the arms of thecontestant which is turning with respect to the direction in which thecontestant is turning. The game player thus has difficulty in decidingthe time at which the contestant in the game space should release thehammer.

In each of object-throwing contests such as hammer throw and discusthrow in which the object is hurled after having turned a plurality oftimes, there is a principal count of turns which the object should makebefore it is hurled. In video games of those object-throwing contests,it is necessary to declare a throw failure if the object is not hurledwhen the count of its turns reaches the principal count of turns.Declaring a throw failure in such a case makes the object-throwing videogame interesting and fun to play. However, since the game player needsto count how many times the object should turn before it is hurled whileseeing the image of the object turn in the game space, the game playertends to induce a count error and disturb their concentration on thevideo game as it proceeds, possibly adversely affecting the results ofthe video game.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide anobject-throwing video game system which displays for the game player aneasily perceptible object-throwing guide as to the direction in which anobject will be hurled from a throwing body thereby to allow the gameplayer to recognize the exact time to hurl the object from the throwingbody, and the remaining number of turns which the throwing body has tomake before it hurls the object.

According to the present invention, there is provided a method ofdisplaying an object-throwing guide in an object-throwing video game,comprising the steps of displaying at least an image of a throwing bodyand an image of an object to be visually hurled from the throwing bodyin a game space on a display screen, controlling the image of thethrowing body to visually move in preparation for visually hurling theimage of the object in the game space in response to manual operation ofa controller, controlling the image of the object to be visually hurledfrom the image of the throwing body in the game space in response tomanual operation of the controller, and displaying an image of anobject-throwing guide in the game space to indicate a throwing directionin which to hurl the image of the object from the image of the throwingbody and which progressively varies depending on the movement of theimage of the throwing body for visually hurling the image of the object.

According to the present invention, there is also provided a method ofdisplaying an object-throwing guide in an object-throwing video game,comprising the steps of displaying at least a throwing body and anobject to be virtually hurled by the throwing body in a game space on adisplay screen, controlling the displayed throwing body to move inpreparation for hurling the displayed object in the game space inresponse to manual operation of a controller, controlling the displayedobject to be hurled from the displayed throwing body in the game spacein response to manual operation of the controller, and displaying anobject-throwing guide in the game space to indicate a throwing directionin which the displayed object is to be hurled from the displayedthrowing body and which progressively varies depending on the movementof the displayed throwing body for hurling the displayed object.

According to the present invention, there is further provided anobject-throwing video game system comprising display means fordisplaying at least an image of a throwing body and an image of anobject to be visually hurled from the throwing body in a game space, andcontrol mans for controlling the image of the throwing body to visuallymove in preparation for visually hurling the image of the object in thegame space in response to manual operation of a controller, andcontrolling the image of the object to be visually hurled from the imageof the throwing body in the game space in response to manual operationof the controller, the control means comprising means for displaying animage of an object-throwing guide in the game space to indicate athrowing direction in which to hurl the image of the object from theimage of the throwing body and which progressively varies depending onthe movement of the image of the throwing body for visually hurling theimage of the object.

According to the present invention, there is still further provided arecording medium storing object-throwing game data including a gameprogram comprising the steps of displaying at least an image of athrowing body and an image of an object to be visually hurled from thethrowing body in a game space on a display screen, controlling the imageof the throwing body to visually move in preparation for visuallyhurling the image of the object in the game space in response to manualoperation of a controller, controlling the image of the object to bevisually hurled from the image of the throwing body in the game space inresponse to manual operation of the controller, and displaying an imageof an object-throwing guide in the game space to indicate a throwingdirection in which to hurl the image of the object from the image of thethrowing body and which progressively varies depending on the movementof the image of the throwing body for visually hurling the image of theobject.

The above and other objects, features, and advantages of the presentinvention will become apparent from the following description when takenin conjunction with the accompanying drawings which illustrate apreferred embodiment of the present invention by way of example.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an object-throwing video game systemaccording to the present invention;

FIG. 2 is a block diagram showing functions performed by a CPU in theobject-throwing video game system shown in FIG. 1;

FIG. 3A is a diagram illustrative of an example of an object-throwingguide comprising an arrow and a trail on a display image;

FIG. 3B is a diagram illustrative of an example of the absolutecoordinates of an image of the arrow;

FIG. 3C is a diagram illustrative of the concept of an image deformingprocess for establishing the arrow in a three-dimensional coordinatesystem based on the absolute coordinates of the image of the arrow;

FIG. 4A is a diagram showing a table of frame number data and throwingorientation angle data;

FIG. 4B is a view of a throwing sector, the view also illustrating aminimum throwing orientation angle;

FIG. 4C is a diagram illustrative of an example of the absolutecoordinates of the arrow;

FIG. 4D is a diagram illustrative of an example of converted addressesof the arrow which has been converted from the absolute coordinates ofthe arrow shown in FIG. 4C

FIG. 4E is a diagram illustrative of absolute coordinate data ofvertices of polygons;

FIG. 4F is a diagram illustrative of converted polygon address dataconverted from the absolute coordinate data shown in FIG. 4E;

FIG. 4G is a diagram illustrative of an example of converted addressesof a tail of the arrow, of the converted addresses of the arrow shown inFIG. 4D;

FIG. 4H is a diagram illustrative of an example of trail generatingaddresses which are generated from the converted addresses of the tailof the arrow shown in FIG. 4G;

FIGS. 5A through 5D are views showing displayed images of ahammer-throwing game played on the object-throwing video game systemshown in FIG. 1;

FIGS. 6 through 9 are flowcharts of a control sequence according to amain routine of a game program which controls the object-throwing videogame system shown in FIG. 1;

FIG. 10 is a flowchart of a control sequence according to a polygonimage display subroutine included in the main routine; and

FIGS. 11 through 13 are flowcharts of a control sequence according to anobject-throwing guide display subroutine included in the main routine.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A. Hardware arrangement of object-throwing video game system:

As shown in FIG. 1, an object-throwing video game system according tothe present invention, which is played by a game player to play anobject-throwing video game, typically a hammer-throw game, generallycomprises a game machine assembly and a recording medium 30 which storesgame program data, graphic image data, and audio data. The game machineassembly comprises a CPU 1, a bus 2 connected to the CPU 1 andcomprising an address bus, a data bus, and a control bus, a graphic datagenerating processor 3 connected to the CPU 1, an interface 4 connectedto the bus 2, a main memory 5 connected to the bus 2, a read-only memory(ROM) 6 connected to the bus 2, an expander 7 connected to the bus 2, aparallel port 8 connected to the bus 2, a serial port 9 connected to thebus 2, a graphic processor 10 connected to the bus 2, a buffer 11connected to the graphic processor 10, a television monitor 12 connectedto the graphic processor 10, an audio processor 13 connected to the bus2, a buffer 14 connected to the audio processor 13, an amplifier 15connected to the audio processor 13, a speaker 16 connected to theamplifier 15, a decoder 17 connected to the bus 2, a buffer 18 connectedto the decoder 17, a recording medium driver 19 connected to the decoder17, an interface 20 connected to the bus 2, a memory 21 connected to theinterface 20, and a controller 22 connected to the interface 20. Therecording medium 30 is set in the recording medium driver 19.

The object-throwing video game system may take different systemconfigurations depending on the manner in which it is used. If theobject-throwing video game system is used as a video game system forhome use, for example, then the television monitor 12 and the speaker 16are separate from the other parts of the game machine assembly. If thevideo game system is used as a video game system for business use, forexample, then all the parts shown in FIG. 1 are assembled as a unit andencased in a single housing. If the video game system is constructedaround a personal computer or a work station, then the televisionmonitor 12 corresponds the display monitor of the computer, the graphicprocessor 10, the audio processor 13, and the expander 7 correspond topart of the game program data stored in the recording medium 30 or ahardware arrangement on an expansion board inserted in an expansion slotof the computer, and the interface 4, the parallel port 8, the serialport 9, and the interface 20 correspond to a hardware arrangement on anexpansion board inserted in an expansion slot of the computer. Thebuffers 11, 14, 18 correspond to respective areas of the main memory 5or an expansion memory (not shown). In the illustrated embodiment, theobject-throwing video game system will be described as a video gamesystem for home use.

The various parts of the video game system shown in FIG. 1 will bedescribed below. The graphic data generating processor 3 serves as acoprocessor of the CPU 1. The graphic data generating processor 3carries out coordinate transformations, light source calculations, andmatrixes and vectors of fixed point by way of parallel processing. Mainprocessing tasks of the graphic data generating processor 3 include aprocess for carrying out coordinate transformations and a process forcarrying out light source calculations. In the process for carrying outcoordinate transformations, the graphic data generating processor 3determines address data in a display area of an image being processedbased on absolute coordinate data, linear displacement data, and angulardisplacement data of each vertex in a two- or three-dimensional plane ofimage data supplied from the CPU 1, and returns the determined addressdata to the CPU 1. The process for carrying out coordinatetransformations will be described in detail later on.

In the process for carrying out light source calculations, the graphicdata generating processor 3 calculates the luminance of an imagedepending on vector data of light rays, normal data representative ofdirections of polygonal faces, and data representative of colors ofpolygonal faces.

The interface 4 serves as an interface for use with a peripheral devicesuch as a pointing device such as a mouse, a track ball, or the like.The ROM 6 stores game program data as an operating system for theobject-throwing video game system. The game program data in the ROM 6correspond to a BIOS (Basic Input Output System) in a personal computer.

The expander 7 serves to expand graphic image data compressed by anintracoding process according to the MPEG (Moving Pictures ExpertsGroup) standard and the JPEG (Joint Photographic Experts Group)standard. Expanding processes carried out by the expander 7 include adecoding process for decoding data encoded by a VLC (Variable LengthCoding) process, an inverse quantizing process, an IDCT (InverseDiscrete Cosine Transform) process, and a decoding process of decodingintracoded images, among others.

The graphic processor 10 effects a graphic processing on data containedin the buffer 11 based on graphic commands issued from the CPU 1. Thebuffer 11 has a display area and a non-display area. The display area isan area for storing data to be displayed on the display screen of thetelevision monitor 12, and the non-display area is an area for storingtexture data, color palette data, etc. The texture data aretwo-dimensional image data. The color palette data are data forindicating colors of the texture data. These data are transferredbeforehand from the recording medium 30 to the non-display area of thebuffer 11 by the CPU 1 in one cycle or a plurality of cycles insynchronism with the progress of the video game.

Graphic commands issued from the CPU 1 include, for example, a graphiccommand for displaying a line, a graphic command for displaying athree-dimensional image using polygons, and a graphic command fordisplaying an ordinary two-dimensional image. Polygons are polygonaltwo-dimensional images which may be of a triangular or rectangularshape.

The graphic command for displaying a line comprises addresses forstarting and ending displaying a line, and data representing the colorof the line and the displaying of the line. The graphic command fordisplaying a line is issued from the CPU 1 directly to the graphicprocessor 10.

The graphic command for displaying a three-dimensional image usingpolygons comprises polygon vertex address data in the display area ofthe buffer 11, texture address data indicative of a storage position inthe buffer 11 of texture data to be mapped onto polygons, color paletteaddress data indicative of a storage position in the buffer 11 of colorpalette data representing a color of the texture data, and luminancedata indicative of a luminance of the texture data. Of these data, thepolygon vertex address data is calculated by the graphic data generatingprocessor 3 based on polygon absolute coordinate data, polygon motiondata, and viewpoint motion data from the CPU 1. The manner in which thepolygon vertex address data is determined will be described below.

Motion of an object on the display screen of the television monitor 12is determined by the movement of the object itself and the movement of aviewpoint with respect to the object. For example, if only the objectmoves and the viewpoint is fixed, then the motion of the object on thedisplay screen of the television monitor 12 is the same as the movementof the object itself. Conversely, if the object does not move and onlythe viewpoint moves, then the motion of the object on the display screenof the television monitor 12 is the same as the movement of theviewpoint itself. The above explanation can be understood more easily ifthe term "viewpoint" is replaced with a term "camera position".Therefore, the display screen of the television monitor 12 displays theobject thereon as if the object were imaged by a moving camera. Whileeither the object or the viewpoint has been described as moving in theabove explanation, the data are processed and displayed as if both theobject and the viewpoint were moving.

The motion of the object comprises an angular displacement and a lineardisplacement. The angular displacement of the object with respect to theviewpoint is generated by rotation angles of the object and theview-point. The angular displacement and the rotation angles areexpressed by 2×2 matrices in a data processing which uses atwo-dimensional coordinate system and 3×3 matrices in a data processingwhich uses a three-dimensional coordinate system. The lineardisplacement of the object with respect to the viewpoint is generated byan object position (coordinates), a viewpoint position (coordinates),and a rotation angle of the viewpoint. The rotation angle is expressedby 2×2 matrices in a data processing which uses a two-dimensionalcoordinate system and 3×3 matrices in a data processing which uses athree-dimensional coordinate system. Rotation angles of the object andthe viewpoint based on commands from the controller 22 are stored intables. Based on a command from the controller 22, the CPU 1 readscorresponding rotation angles of the object and the viewpoint from thetables, and uses the read rotation angles to determine angular andlinear displacements of the object with respect to the viewpoint.

Polygon vertex address data in the display area is determined asfollows: In response to a command from the controller 22, the CPU 1determines a rotation angle and a position of the object and a rotationangle and a position of the viewpoint. Based on the determined rotationangles of the object and the viewpoint, the CPU 1 determines an angulardisplacement of the object with respect to the viewpoint. Based on theposition of the object and the position and rotation angle of theviewpoint, the CPU 1 determines a linear displacement of the object withrespect to the viewpoint. If the angular and linear displacement data ofthe object are processed using a three-dimensional coordinate system,then they are expressed in 3×3 matrices.

The angular and linear displacement data of the object are suppliedtogether with polygon absolute coordinate data to the graphic datagenerating processor 3. Based on the supplied angular and lineardisplacement data of the object, the graphic data generating processor 3converts the polygon absolute coordinate data to polygon vertex addressdata. The polygon absolute coordinate data is obtained according to theabove process.

The polygon vertex address data represents addresses in the display areaof the buffer 11. The graphic processor 10 establishes a triangular orrectangular range in the display area of the buffer 11 which isrepresented by three or four polygon vertex address data, and writestexture data in the established range. Such a writing process isgenerally referred to as "texture mapping". The display screen of thetelevision monitor 12 displays an object with texture data mapped onto anumber of polygons which the object is constructed of.

The graphic command for displaying an ordinary two-dimensional imagecomprises vertex address data, texture address data, color paletteaddress data, and luminance data indicative of a luminance of thetexture data. Of these data, the vertex address data comprisescoordinate data produced when vertex coordinate data in atwo-dimensional space from the CPU 1 are transformed by the graphic datagenerating processor 3 based on linear displacement data.

The audio processor 13 stores ADPCM data read from the recording medium30 in the buffer 14 and uses the ADPCM data stored in the buffer 14 as asound source. The audio processor 13 reads the ADPCM data with a clockhaving a frequency of 44.1 kHz, for example, from the buffer 14. Theaudio processor 13 then processes the ADPCM data read from the buffer14, for pitch conversion, noise addition, envelope setting, levelsetting, reverberation addition, etc. If audio data read from therecording medium 30 are PCM data, then the audio processor 13 convertsthe PCM data to ADPCM data. PCM data are processed by the video programdata directly in the main memory 5. The PCM data processed in the mainmemory 5 are supplied to the audio processor 13, which converts the PCMdata to ADPCM data, processes the ADPCM data as described above, andoutputs the ADPCM data as sounds from the speaker 16.

The recording medium driver 19 may comprise a hard disk drive, anoptical disk drive, a flexible disk drive, a silicon disk drive, acassette reader, or the like, and the recording medium 30 may comprise ahard disk, an optical disk, a flexible disk, a semiconductor memory, orthe like. The recording medium driver 19 reads graphic image data, audiodata, and game program data from the recording medium 30, and suppliesthe read data to the decoder 17. The decoder 17 effects anerror-correcting process on the data from the recording medium driver 19with an ECC (Error-Correcting Code), and supplies the error-correcteddata to the main memory 5 or the audio processor 13.

The memory 21 comprises a holder and a card-type memory. The card-typememory serves to hold various parameters of the game, e.g., to hold agame status when the game comes to an end. The controller 22 has arrowkeys including a left key L, a right key R, an up key U, and a down keyD, a left button 22L, a right button 22R, a start button 22a, a selectbutton 22b, a first button 22c, a second button 22d, a third button 22e,and a fourth button 22f. The arrow keys are used by the game player togive the CPU 1 commands indicative of upward, downward, leftward, andrightward directions. The start button 21a is used by the game player toinstruct the CPU 1 to start the game program data loaded from therecording medium 30. The select button 22b is used by the game player toinstruct the CPU 1 to make various selections relative to the gameprogram data which are loaded from the recording medium 30 to the mainmemory 5. The left key 22L, the right key 22R, the first˜fourth buttons22c, 22d, 22e, 22f have functions which differ depending on the gameprogram data which are loaded from the recording medium 30.

Operation of the object-throwing video game system will briefly bedescribed below. When a power supply switch (not shown) of theobject-throwing video game system is turned on, the object-throwingvideo game system is energized. If the recording medium 30 is insertedin the recording medium driver 19, then the CPU 1 instructs therecording medium driver 19 to read the game data from the recordingmedium 30 based on the operating system stored in the ROM 6. Therecording medium driver 19 then reads the graphic image data, audiodata, and game program data from the recording medium 30. The graphicimage data, audio data, and game program data that are read are suppliedto the decoder 17, which effects an error-correcting process on thesupplied data. The error-corrected data are supplied through the bus 2to the expander 7, which expands the data. The expanded data are thensupplied to the graphic processor 10, and written in the non-displayarea of the buffer 11 by the graphic processor 10.

The audio data that have been error-corrected by the decoder 17 aresupplied to the main memory 5 or the audio processor 13, and stored inthe main memory 5 or the buffer 14. The game program data that have beenerror-corrected by the decoder 17 are supplied to and stored in the mainmemory 5. Subsequently, the CPU 1 executes the video game based on thegame program data stored in the main memory 5 and commands entered intothe controller 22 by the game player. Specifically, the CPU 1 controlsimage processing, audio processing, and internal processing operationsbased on commands entered into the controller 22 by the game player. Inthe image processing operation, angular and linear displacement data andabsolute coordinate data are supplied to the graphic data generatingprocessor 3, and graphic commands including address data in the displayarea of the buffer 11, determined by the graphic data generatingprocessor 3, and luminance data are issued. In the audio processingoperation, an audio output command is issued to the audio processor 13and level, reverberation, and other settings are indicated. In theinternal processing operation, calculations are carried out based oncommands entered into the controller 22 by the game player.

B. Functions of the CPU 1 shown in FIG. 1:

FIG. 2 shows functions or means performed by the CPU 1 shown in FIG. 1.The CPU 1 performs the functions or means shown in FIG. 2 when it readsthe game program data which have been read from the recording medium 30and stored in the main memory 5. As shown in FIG. 2, the functions ormeans performed by the CPU 1 include a button operation detectingfunction or means 1a, a viewpoint data setting function or means 1b, adisplay range information extracting function or means 1c, a calculatingfunction or means 1d, a result information setting function or means 1e,a decision function or means 1f, a graphic command issuing function ormeans 1g, a variable setting function or means 1h, a frame numberacquiring function or means 1i, a linear and angular displacementacquiring function or means 1j, a polygon information managing functionor means 1k, and a guide information managing function or means 1m.These functions or means will serve as control functions or means insubsequent processes under "E"˜"G".

C. Display of an arrow and a trail:

FIG. 3A illustrates an object-throwing guide comprising an arrow and atrail on a display image which comprises a matrix of vertical 480pixels×horizontal 640 pixels. FIG. 3B illustrates the absolutecoordinates of an image of the arrow. FIG. 3C illustrates the concept ofan image conversion process for establishing the arrow in athree-dimensional coordinate system based on the absolute coordinates ofthe arrow and linear and angular displacement data. FIG. 4C illustratesan example of the absolute coordinates of the arrow. FIG. 4D illustratesan example of converted addresses of the arrow which has been convertedfrom the absolute coordinates of the arrow shown in FIG. 4C by thegraphic data generating processor 3 based on linear and angulardisplacement data. FIG. 4G illustrates an example of converted addressesof a tail of the arrow, of the converted addresses of the arrow shown inFIG. 4D. FIG. 4H illustrates an example of trail generating addresseswhich are generated from the converted addresses of the tail of thearrow shown in FIG. 4G.

The object-throwing guide used in the object-throwing video game systemserves to guide the game player as to the exact time at which a throwingbody, such as a contestant, should hurl an object, such as a hammer, ina game space and the remaining number of times that the throwing bodyshould turn, in order to hurl the object in a direction intended by thegame player. As shown in FIG. 3A, the object-throwing guide comprises anarrow Na indicating a direction in which the throwing body hurls theobject and a trail Lo of the arrow Na, the arrow Na and the trail Lobeing displayed on the display screen of the television monitor 12. Thedirection indicated by the arrow Na agrees with the direction in whichthe throwing body hurls the object, as represented by the posture of thethrowing body such as a contestant what is displayed together with thearrow Na. Stated otherwise, the arrow Na indicative of the throwingdirection is displayed together with the throwing body from time to timedepending on the posture of the throwing body which is also displayedfrom time to time on the display screen.

The arrow Na is displayed in successive positions on a path OR in thedirection indicated by the arrows there-along. The image of the trail Lowhich follows the arrow Na is generated and displayed using two addressdata a1, a2 of a trail of the arrow Na which is displayed in the presentposition and two address data b1, b2 of a trail of an arrow Nb which wasdisplayed in a preceding position. Specifically, the image of the trailLo comprises two triangles formed by interconnecting the address data a1of the trail of the arrow Na and the address data b2 of the tail of thearrow Nb and interconnecting the address data a2 of the trail of thearrow Na and the address data b1 of the tail of the arrow Nb.

The number of turns that the throwing body has made is represented by acolor of the arrow Na. For example, when a minimum value indicating thenumber of turns that the throwing body has made is the smallest, thecolor of the arrow Na is set to purple. As the value indicating thenumber of turns that the throwing body has made increases, the color ofthe arrow Na is successively set to warmer colors. When a maximum valueindicating the number of turns that the throwing body has made is thelargest, the color of the arrow Na is set to red. If the object-throwingvideo game played on the object-throwing video game system is shot put,then the arrow Na is displayed in red from the outset because theprincipal count of turns is 0.5 in shot put. If the object-throwingvideo game played on the object-throwing video game system is discusthrow, then the arrow Na is displayed in yellow for the first turn andthen in red for the second turn because the principal count of turns is2 in discus throw. If the object-throwing video game played on theobject-throwing video game system is hammer throw, then the arrow Na isdisplayed in purple for the first turn, in blue for the second turn, ingreen for the third turn, in yellow for the fourth turn, and then in redfor the fifth turn. This is because the principal count of turns is setto 5 in hammer throw games on the object-throwing video game systemthough it is 4 in actual hammer throw contests. A color of the arrow Nais determined by the graphic command issuing means 1g which refers to atable based on a quotient (figures below the decimal point omitted)produced when the calculating means 1d divides throwing orientationangle data Ah by 360 (degrees). The table contains a number of quotientsand color pallet address data or data indicative of colors whichcorrespond respectively to the quotients.

In an object-throwing video game played on the object-throwing videogame system, a throw failure is declared when the number of turns thatthe throwing body has made has exceeded the maximum value indicating thenumber of turns, i.e., a maximum count. The throw failure constitutes afoul in an actual object-throwing contest corresponding to theobject-throwing video game.

The object-throwing guide described above is displayed on a real-timebasis depending on the posture of the throwing body. Therefore, the gameplayer is able to know the hurling direction and the remaining count ofturns when the object is hurled by the throwing body at the presenttime. The game player can thus recognize a throwing direction and a timeto hurl the object, as intended by the game player, based on thedisplayed object-throwing guide, and then operate the controller 22 toenable the throwing body to hurl the object based on the recognizedthrowing direction and time. The object-throwing video game systemaccording to the present invention thereby provides a user-friendlyinterface for object-throwing video games.

A process of displaying the object-throwing guide will be described indetail below.

The arrow Na has a shape as shown in FIG. 3A, for example. The arrow Nahas absolute addresses represented by coordinate data of the corners ofa rectangular shape which surrounds the arrow Na on a three-dimensionalplane having a center at "0". The absolute coordinate data of the arroware loaded from the recording medium 30 (see FIG. 1) into the mainmemory 5. In the example shown in FIGS. 3B and 4B, the absolutecoordinate data of the arrow are (x1, y1, z1)=(8, 0, 10), (x2, y2,z2)=(-8, 0, 10), (x3, y3, z3)=(8, 0, -10), and (x4, y4, z4)=(-8, 0,-10).

FIG. 3C illustrates the concept of an image conversion process which iscarried out by the graphic data generating processor 3. When suppliedwith the absolute coordinate data of the arrow as shown in FIG. 3B andthe linear and angular displacement data, the graphic data generatingprocessor 3 establishes an arrow with three-dimensional coordinates asshown in FIG. 3C. It is assumed for illustrative purposes that thecamera has its position and rotation angle fixed to be able to view thethrowing body and the object at all times.

The address data of the vertices of the rectangular shape surroundingthe arrow on three-dimensional plane are converted into address data inthe display area of the buffer 11. An example of the converted addressdata of the arrow is shown in FIG. 4D. As shown in FIG. 4D, theconverted address data of the arrow are address data in the display areaof the buffer 11. For example, addresses a1, a2, a3, a4 in the displayarea of the buffer 11 of the corners of the rectangular shape whichsurrounds the arrow Na at the present time as shown in FIG. 3A arerepresented by (560, 320), (544, 324), (594, 368), and (560, 394) asshown in FIG. 4D. Addresses b1, b2, b3, b4 in the display area of thebuffer 11 of the corners of the rectangular shape which surrounds thearrow Nb at the preceding time as shown in FIG. 3A are represented by(424, 342), (408, 346), (458, 390), and (424, 416) as shown in FIG. 4D.

The image of the trail Lo will be described below. It is assumed thatthe arrow Na is displayed at the present time, the arrow Nb at thepreceding time which is a predetermined unit time prior to the presenttime, and any arrow which was displayed in the past is the arrow Nbonly.

When the arrow Na is displayed as shown in FIG. 3A, the main memory 5stores the converted address data of the arrow Na displayed at thepresent time and also the converted address data of the arrow Nbdisplayed at the preceding time, as shown in FIG. 4D. Furthermore, asshown in FIG. 4G, the main memory 5 also stores addresses of only tailsof the arrows as converted address data, of the converted address dataof the arrows shown in FIG. 4D. As can be seen from FIG. 3A, theaddresses of the tails of the arrow Na at the present time and the arrowNb at the preceding are indicated by a1, a2, and b1, b2. These addressesare represented by (560, 320), (544, 324) and (424, 342), (408, 346) asshown in a lower portion of FIG. 3A. These address values are stored asthe converted address data of the tails of the arrows in another area ofthe main memory 5 than the area which stores the address data shown inFIG. 4D.

As shown in FIG. 4H, the converted address data of the tails of thearrows Na, Nb are supplied as trail generating address data from themain memory 5 to the graphic processor 10. When the graphic processor 10receives a graphic command including the trail generating address data,the graphic processor 10 writes texture data of the arrows as trailimage data in the display area of the buffer 11 based on the suppliedtrail generating address data. Then, the display screen of thetelevision monitor 12 displays a trail image Lo as shown hatched in FIG.3A. The trail image Lo gives the game player a visual illusion as if itlooks like a trail of the arrow Na. In this manner, arrows and trailsare displayed at successive locations to provide a visual representationas the path OR of the arrow.

In the above example, since two arrows are displayed successively atpresent and past, only one trail image Lo is displayed. If more arrowsare successively displayed at successive times, then more trail imagesLo are successively displayed, resulting in a longer combined trailimage Lo displayed following the arrow which is displayed at a time onthe display screen.

With the path OR of the arrow being expressed by the displayed trailimage Lo, the game player can recognize a position in which the arrowwill be displayed on the display screen, and hence can respond quicklyto a throwing direction represented by the arrow. Stated otherwise, thegame player can predict a position in which the arrow will be displayedmore reliably and quickly when the path OR is displayed than when thepath OR is not displayed, and hence can improve their response ofmaneuvering actions in the object-throwing video game when the arrow isdisplayed to point the direction for the throwing body to hurl theobject.

Coloring of the arrow Na will be described below. As described above,the arrow Na changes its color depending on how many turns which thethrowing object has made. Usually, cold colors are used to express smallvalues such as low temperatures, and warm colors to express large valuessuch as high temperatures. In this embodiment, as the number of turnswhich the throwing body makes increases, the arrow Na successivelychanges its color from a cold color toward a warm color. Therefore, thegame player can recognize the remaining number of turns that thethrowing object can make by seeing the color of the arrow Na. In otherwords, the game player can recognize the exact time at which he or shecontrols the throwing body to throw the object in the game space. Thecolor of red is usually used to express a danger, a limitation, etc. Asthe color of the arrow Na becomes closer to red upon an increase in thenumber of turns that the throwing object has made, the game player canvisually perceive for sure that the remaining number of turns that thethrowing object can make is reduced.

FIGS. 5A through 5D show displayed images of a hammer-throwing gameplayed on the object-throwing video game system shown in FIG. 1. Thedisplayed images shown in FIGS. 5A through 5D are four representativesuccessive images out of a series of frames which show a contestant Main a game space as he makes progressive actions from starting to hurl ahammer Ba until ending the hurling of the hammer Ba. The displayed imageshown in FIG. 5A shows the contestant Ma who starts to hurl the hammerBa. The displayed image shown in FIG. 5B shows the contestant Ma who hasjust started to hurl the hammer Ba. The displayed image shown in FIG. 5Cshows the contestant Ma who is going to release the hammer Ba. Thedisplayed image shown in FIG. 5C shows the contestant Ma who has justhurled the hammer Ba. For the sake of brevity, reference characters areshown in FIG. 5B only. The displayed images shown in FIGS. 5A through 5Dare selected from all images or frames of a plurality of hammer-throwingcontests.

As shown in FIG. 5B, a displayed image or frame includes a background,the contestant Ma, the hammer Ba, the arrow Na, the trail Lo, a window Wshowing results, and a guide Gi showing an angle. The backgroundincludes sector lines LL, LR. The window W displays characters ("1P":one person in FIG. 5B) indicative of the number of game players in anupper area of a left end portion thereof, a bar graph indicative ofthrowing energy in a middle area of the left end portion thereof, andcharacters ("PLAYER1" in FIG. 5B) indicative of the number of the playerin a lower area of the left end portion thereof. The window w alsodisplays characters "1ST", "2ND", "3RD" in a central portion thereof,which indicate first, second, and third throws, respectively. To theright of the characters "1ST", "2ND", "3RD", there are displayedcharacters indicative of a distance which the hammer has flied or afoul. In FIG. 5A, "59.33M" indicative of the distance of 59 m and 33 cmis displayed for the first throw, and "68.39M" indicative of thedistance of 68 m and 39 cm is displayed for the second throw. A symbol"x" displayed to the right of the characters "1ST" and a symbol "◯"displayed to the right of the characters "2ND" jointly indicate that thedistance for the second throw is valid rather than the distance for thefirst throw. In FIG. 5B, the characters "FOUL x" are displayed for thefirst throw, showing that the first throw was a failure or a foul.

As shown in FIG. 5B, the trail Lo is displayed such that it is largertoward the arrow Na and smaller away from the arrow Na.

E. Control Sequence According to a Main Routine:

FIGS. 6 through 9 show flowcharts of a control sequence according to amain routine of a game program which controls the object-throwing videogame system shown in FIG. 1. In an object-throwing video game played onthe object-throwing video game system shown in FIG. 1, an object ishurled by a throwing body in a game space depending on how the gameplayer operates the controller 22. Object-throwing contests which can besimulated by object-throwing video games played on the object-throwingvideo game system shown in FIG. 1 include shot put, hammer throw, anddiscus throw, for example. If the object-throwing video game in the mainroutine shown in FIGS. 6 through 9 is shot put, then the throwing bodyrepresents a contestant and the object represents a shot. If theobject-throwing video game in the main routine shown in FIGS. 6 through9 is discus throw, then the throwing body represents a contestant andthe object represents a discus. If then the object-throwing video gamein the main routine shown in FIGS. 6 through 9 is hammer throw, then thethrowing body represents a contestant and the object represents ahammer.

The control sequence shown in FIG. 6 includes a step S1 which isexecuted by the operating system stored in the ROM 6 shown in FIG. 1,and other steps which are executed based on the game program data readfrom the recording medium 30. The steps based on the game program dataare executed by the various functions or means of the CPU 1 as shown inFIG. 2.

As shown in FIG. 6, the operating system instructs the recording mediumdriver 19 to read graphic data, audio data, and game program data fromthe recording medium 30 in a step S1. Of the data read from therecording medium 30, the game program data are stored in the main memory5, and imparts the functions or means shown in FIG. 2 to the CPU 1. Thegraphic data, i.e., texture data, are stored in the buffer 11 connectedto the graphic processor 10, and are assigned respective texture datanumbers. The audio data are stored in the buffer 14 connected to theaudio processor 13, and are assigned respective audio data numbers.Usually, not all the graphic and audio data are stored in the buffers11, 14 in the step S1. However, it is assumed for illustrative purposesthat all the graphic and audio data are loaded from the recording medium30 in the step S1.

In a step S2, the button operation detecting means 1a determines whetherthe start button 22a of the controller 22 has been pressed or not by thegame player. If pressed (YES), then control proceeds to a step S3.

In the step S3, the graphic command issuing means 1g issues a graphiccommand for displaying a game selection image to the graphic processor10. Based on the supplied graphic command, the graphic processor 10stores graphic data of the game selection image in the display area ofthe buffer 11 and displays the game selection image on the displayscreen of the television monitor 12.

In a next step S4, the button operation detecting means 1a determineswhether the start button 22a of the controller 22 has been pressed ornot by the game player. If pressed (YES), then control proceeds to astep S5.

Before the start button 22a is pressed by the game player, the gameplayer selects a desired video game, here a golf game, on the gameselection image using the arrow keys. After the game player has selecteda desired video game, the game player presses the start button 22a. Theselection of some of the games on the game selection image, such as amartial arts game, includes choosing characters and other items for thegame.

In the step S5, it is assumed that an object-throwing game has beenselected, and the CPU 1 is set to the selected game.

In a step S6, the graphic command issuing means 1g issues a graphiccommand for displaying an initial image of the selected game to thegraphic processor 10. The graphic processor 10 stores graphic data ofthe initial image in the display area of the buffer 11 and displays theinitial image on the display screen of the television monitor 12.

In a step S7, the variable setting means 1h resets flags and variablesheld in the main memory 5.

In a step S8, the button operation detecting means 1a determines whetherthe first button 22c of the controller 22 has been pressed or not by thegame player. If pressed (YES), then control proceeds to a step S9. Ifnot (NO), then control proceeds to a step S11. The first button 22c isused to control the speed of rotation of the throwing body in the gamespace.

In the step S9, the calculating means 1d adds rising reference speeddata s to speed data Sd.

In a next step S10, the frame number acquiring means 1i determines framenumber data fd depending on the speed data Sd. The frame number data fdis referred to as converted frame number data. The converted framenumber data fd is determined from a table which is referred to by theframe number acquiring means 1i. The table comprises a number of speeddata Sd and a number of frame number data registered with respect to therespective speed data Sd, and is loaded from the recording medium 30into the main memory 5. A frame number may be calculated from the speeddata Sd rather than using the table.

In the step S11, the calculating means 1d subtracts lowering referencespeed data m from the speed data Sd.

In a step S12, the decision means 1f determines whether the value of thespeed data Sd is negative or not. If it is negative (YES), then controlproceeds to a step S13, and if it is not negative (NO), then controljumps to the step S10.

In the step S13, the variable setting means 1h sets the speed data Sd to"0".

As described above, the button operation detecting means 1a determineswhether the first button 22c of the controller 22 has been pressed ornot by the game player in the step S8, and if the first button 22c hasbeen pressed, then the speed data Sd is increased in the step S9, and ifthe first button 22c has not been pressed, then the speed data Sd isdecreased in the step S11. This is to establish the value of the speeddata Sd depending on the number of times that the game players pressesthe first button 22c per unit time. If the number of times that the gameplayers presses the first button 22c per unit time is large, then thespeed of rotation of the throwing body in the game space, i.e., thethrowing energy, is increased. Conversely, if the number of times thatthe game players presses the first button 22c per unit time is small,then the speed of rotation of the throwing body in the game space, i.e.,the throwing energy, is reduced. The throwing energy as it changes isexpressed by a change in the bar graph shown in FIGS. 5A through 5D.

As shown in FIG. 7, the calculating means 1d adds the converted framenumber data fd to frame number data FD in a step S14.

In a next step S15, the frame number acquiring means 1i reads throwingorientation angle data Ah corresponding to the frame number data FDdetermined in the step S14 from a table TBL stored in the main memory 5.As shown in FIG. 4A, the table TBL comprises a number of frame numberdata FD and a number of throwing orientation angle data Ah registeredwith respect to the frame number data FD, respectively.

In a step S16, the variable setting means 1h reads address data in themain memory 5 of absolute coordinate data of polygons of the throwingbody and linear and angular displacement data depending on the framenumber data FD from a table, and substitutes the address data in anaddress variable ADD, the linear displacement data in a lineardisplacement variable MO, and the angular displacement data in anangular displacement variable RO. The address data, the lineardisplacement data, and the angular displacement data are obtained from atable which comprises frame numbers ranging from a minimum value to amaximum value, and a number of address data, linear displacement data,and angular displacement data which are registered with respect to theframe numbers.

In a step S100, a polygon image display subroutine is executed. Thepolygon image display subroutine will be described later on.

In a step S200, an object-throwing guide display subroutine is executed.The object-throwing guide display subroutine will be described later on.

In a step S17, the decision means 1f determines whether or not thethrowing orientation angle data Ah has a value equal to or smaller thana minimum throwing orientation angle Ahmin. If the value of the throwingorientation angle data Ah is equal to or smaller than the minimumthrowing orientation angle Ahmin (YES), then control goes to a step S18.If not (NO), then control goes to a step S22 (see FIG. 8). As shown inFIG. 4A, the minimum throwing orientation angle Ahmin is a minimum angleat which the object falls in an invalid area with a margin. The invalidarea is an area outside of a throwing sector which is defined betweenthe sector lines LL, LR as shown in FIGS. 4B and 5A through 5D.

In the embodiment, the maximum number of turns which the object makesbefore it is hurled is set to "0.5" for shot put, "2" for discus throw,and "5" for hammer throw. A maximum value of the frame number isdetermined depending on the maximum number of turns which the objectmakes. If the maximum number of turns which the object makes in acertain contest is "4" and the maximum value of the frame numbertherefor is set to "240", then the maximum value of the frame number fora contest whose maximum number of turns which the object makes is "2" is"120".

In the step S18, since the value of the throwing orientation angle dataAh is equal to or smaller than the minimum throwing orientation angleAhmin, the throw is a failure which means a foul. Therefore, the resultinformation setting means 1e supplies character data indicative of "FOULx" to the graphic processor 10. The window W now displays characters"FOUL x" in its central portion as shown in FIG. 5B.

In a next step S300, a throwing body failure image display subroutine isexecuted. The throwing body failure image display subroutine is acombination of a process in a step S32 (described later on) and thepolygon image display subroutine in the step S100. When the throwingbody failure image display subroutine is executed, a motion of thethrowing body at the time of a failure, e.g., kneeing down, is displayedon the display screen.

In a step S19, the decision means if determines whether any button onthe controller 22 has been pressed or not by the game player based ondata from the button operation detecting means 1a. If either one of thebuttons has been pressed (YES), then control goes to a step S20. If not(NO), then control returns to the step S300.

In the step S20, the calculating means 1d adds "1" to throw count dataTh.

In a next step S21, the decision means 1f determines whether the throwcount data Th is greater than a maximum throw count Thmax or not. If thethrow count data Th is greater than the maximum throw count Thmax (YES),then control goes back to the step S3. If not (NO), then control goesback to the step S8.

In the step S22 (see FIG. 8), the button operation detecting means 1adetermines whether the second button 22d of the controller 22 has beenpressed or not by the game player. If pressed (YES), then controlproceeds to a step S23. If not (NO), then control goes back to the stepS8. The second button 22d is used to determine vertical throw angle dataAv of the object and a time at which to hurl the object. In thisembodiment, the vertical throw angle data Av is successively incrementedinsofar as the second button 22d is pressed. The vertical throw angledata Av is displayed on a real-time basis by the guide Gi as shown inFIGS. 5A through 5D.

In a step S23, the calculating means 1d adds reference angle data z tothe vertical throw angle data Av.

In a step S24, the decision means 1f determines whether the verticalthrow angle data Av has a value greater than a maximum vertical throwangle Avmax or not. If the value of the vertical throw angle data Av isgreater than the maximum vertical throw angle Avmax (YES), then controlproceeds to a step S25. If not (NO), then control jumps to a step S26.

In the step S25, the variable setting means 1h substitutes the maximumvertical throw angle Avmax in the vertical throw angle data Av.

In the step S26, the button operation detecting means 1a determineswhether the second button 22d has been released or not by the gameplayer. If released (YES), then control proceeds to a step S27. If not(NO), then control goes back to the step S23. When the second button 22dis released, the object is hurled by the throwing body in the game spaceat a vertical angle represented by the vertical throw angle data Av atthe time.

In the step S27, the variable setting means 1h initializes velocityvector data of the object based on the value of the speed data Sd, thethrowing orientation angle data Ah, and the vertical throw angle dataAv. The velocity vector data represents a position in athree-dimensional coordinate system, and comprises values (x, y, z).Initializing velocity vector data means establishing the velocity vectordata the above three values (x, y, z).

In a step S28, the calculating means 1d adds gravitational accelerationvector data to the velocity vector data that has been initialized in thestep S27. The gravitational acceleration vector data is a constant forvarying the position in the three-dimensional coordinate system which isrepresented by the velocity vector data with the values (x, y, z).

In a step S29, the calculating means 1d adds the velocity vector data(x, y, z) to positional data of the object. The positional data of theobject represents the position of the object in the three-dimensionalcoordinate system, and comprises values (x, y, z).

In a step S30, the decision means 1f determines whether or not theheight of the object is equal to or smaller than "0". If the height ofthe object is "0" (YES), then control proceeds to a step S31. If not(NO), then control goes to a step S32. The height of the objectrepresents the height of the object on the display screen in each frame.

In the step S31, the variable setting means 1h sets the height of theobject to "0".

In the step S32, the variable setting means 1h substitutes address datain the main memory 5 of absolute coordinate data of polygons of theobject in the address variable ADD, the linear displacement data in thelinear displacement variable MO, and the angular displacement data inthe angular displacement variable RO. The linear displacement data andthe angular displacement data are obtained from a table which comprisespositional data of the object ranging from a minimum value to a maximumvalue, and a number of linear displacement data and angular displacementdata which are registered with respect to the positional data.

In a next step S100, the polygon image display subroutine is executed.

In a next step S400, an after-the-hurl throwing body image displaysubroutine is executed. The after-the-hurl throwing body image displaysubroutine in the step S400 is a combination of the process in the stepS32 and the polygon image display subroutine in the step S100.

In a step S33 (see FIG. 9) following the step S31, the calculating means1d determines a distance which the object has flied. The resultinformation setting means 1e supplies character data indicative of thedetermined distance to the graphic processor 10.

In a step S34, the graphic command issuing means 1g supplies a graphiccommand for displaying an image of the results to the graphic processor10. The display screen of the television monitor 12 now displays in thecentral portion of the window W shown in FIGS. 5A through 5D charactersindicative of the distance which the object has flied.

In a step S35, the decision means 1f determines whether any button onthe controller 22 has been pressed or not by the game player based ondata from the button operation detecting means 1a. If either one of thebuttons has been pressed (YES), then control goes to a step S36.

In the step S36, the graphic command issuing means 1g issues a graphiccommand for displaying an image which shows that the throw has beensuccessful to the graphic processor 10. The graphic processor 10 writesimage data representing that the throw has been successful in thedisplay area of the buffer 11. The display screen of the televisionmonitor 12 now displays an image which shows that the throw has beensuccessful. The image which shows that the throw has been successful maycomprise characters "GOOD", for example, and is displayed in the centralportion of the window W shown in FIGS. 5A through 5D.

In a step S500, a successful-throw throwing body image displaysubroutine is executed. The successful-throw throwing body image displaysubroutine in the step S500 is a combination of the process in the stepS32 and the polygon image display subroutine in the step S100. In thesuccessful-throw throwing body image display subroutine, a motion of thethrowing body at the time the throw has been successful, e.g., a jumpingthrowing body, is displayed on the display screen.

In a step S600, a replay image display subroutine is executed. Thereplay image display subroutine uses information of operations of thecontroller 22 by the game player. Specifically, all information ofoperations of the controller 22 by the game player is stored in the mainmemory 5. In the replay image display subroutine, all information ofoperations of the controller 22 by the game player is read from the mainmemory 5 and processed to display images based on the past operations ofthe controller 22 by the game player.

In a step S37, the decision means 1f determines whether any button onthe controller 22 has been pressed or not by the game player based ondata from the button operation detecting means 1a. If either one of thebuttons has been pressed (YES), then control goes to the step S20.

F. Control Process of the Polygon Image Display Subroutine in the StepS100:

FIG. 11 shows a control sequence according to the polygon image displaysubroutine in the step S100. In the polygon image display subroutine,polygons of the throwing body and the object are displayed. Each of thethrowing body and the object comprises a number of polygons. As shown inFIG. 4E, absolute coordinate data (x, y, z) of vertices of thosepolygons are stored in the main memory 5. The absolute coordinate data(x, y, z) are converted into converted polygon address data (x, y) on atwo-dimensional plane as shown in FIG. 4F by the graphic data generatingprocessor 3 based on the linear and angular displacement data. Theconverted polygon address data shown in FIG. 4F are supplied togetherwith the texture address data and the color pallet address data as agraphic command to the graphic processor 10. In response to the graphiccommand, the graphic processor 10 writes texture data into the displayarea of the buffer 11 based on the converted polygon address data. Thedisplay screen of the television monitor 12 now displays the throwingobject and the object, each composed of many polygons.

In a step S101 shown in FIG. 10, the polygon information managing means1k reads the absolute coordinate data (x, y, z) of vertices of a polygonin the main memory 5 which is indicated by the value of the addressvariable ADD from the main memory 5.

In a step S102, the polygon information managing means 1k supplies theabsolute coordinate data of the vertices of the polygon, the lineardisplacement data in the linear displacement variable MO, the angulardisplacement data in the angular displacement variable RO, the vector oflight rays, and the data of normals to the polygon to the graphic datagenerating processor 3. Based on the supplied data, the graphic datagenerating processor 3 determines the converted polygon address data (x,y) and luminance data, and supplies the determined data to the polygoninformation managing means 1k.

In a step S103, the polygon information managing means 1k writes theconverted polygon address data (x, y) and luminance data from thegraphic data generating processor 3 into the main memory 5.

In a step S104, the decision means 1f determines whether all theconverted polygon address data of the vertices of the polygons have beenconverted into converted polygon address data or not. If all theconverted polygon address data have been converted into convertedpolygon address data (YES), then control proceeds to a step S105. If not(NO), then control returns to the step S102.

In the step S105, the graphic command issuing means 1g reads theconverted polygon address data (x, y) and luminance data from the mainmemory 5, and supplies the converted polygon address data (x, y) andluminance data together with the texture address data and the colorpallet address data as a graphic command to the graphic processor 10. Inresponse to the graphic command, the graphic processor 10 writes texturedata of the throwing object into the display area of the buffer 11 basedon the converted polygon address data (x, y). The display screen of thetelevision monitor 12 now displays the throwing object and the object,each composed of many polygons.

In a step S106, the decision means 1f determines whether all the datahave been transferred or not. If all the data have been transferred(YES), then the polygon image display subroutine is finished. If not(NOT), then control goes back to the step S105.

G. Control Process According to the Object-throwing Guide DisplaySubroutine in the Step S200:

FIGS. 11 through 13 show a control sequence according to theobject-throwing guide display subroutine in the step S200.

In a step S201 shown in FIG. 11, the guide information managing means 1mreads the absolute coordinate data of the vertices of a rectangularshape which surrounds the arrow from the main memory 5.

In a step S202, the linear and angular displacement acquiring means 1jobtains linear and angular displacement data in a three-dimensionalcoordinate system of a rectangular shape which surrounds the arrow,depending on the value of the throwing orientation angle data Ah anddistance data from the center O of rotation shown in FIG. 3A. Thedistance data has a fixed value.

In a step S203, the guide information managing means 1m supplies theabsolute coordinate data of the arrow, the linear displacement data, andthe angular displacement data to the graphic data generating processor3. The graphic data generating processor 3 converts the absolutecoordinate data of the arrow into coordinate data in thethree-dimensional coordinate system based on the linear displacementdata and the angular displacement data, produces converted address data(x, y) in the two-dimensional coordinate system from the coordinatedata, and supplies the converted address data (x, y) to the guideinformation managing means 1m.

In a step S204, the guide information managing means 1m writes theconverted address data (x, y) from the graphic data generating processor3 into the main memory 5.

In a step S205, the graphic command issuing means 1g reads the convertedaddress data (x, y) from the main memory 5, and supplies the convertedaddress data (x, y) together with texture address data and color palletaddress data as a graphic command to the graphic processor 10. Thegraphic command issuing means 1g obtains the color pallet address datafor displaying the arrow in a color depending on the number of turns,based on a calculated value from the calculating means 1d. Thecalculated value is determined by the calculating means 1d which dividesthe throwing orientation angle data Ah by 360 (degrees). Based on theconverted address data (x, y), the graphic processor 10 writes texturedata of the arrow with a color indicated by a color pallet into thedisplay area of the buffer 11.

The color is determined by referring to a table which comprisesquotients ranging from a minimum value to a maximum value which aredetermined by the calculating means 1d, and color-indicating data orcolor pallet address data registered with respect to the respectivequotients.

In a step S206, the decision means 1f determines whether the value of anaddress pointer P is a start address Pstart or not. If the value of theaddress pointer P is the start address Pstart (YES), then controlproceeds to a step S207. If not (NO), then control jumps to a step S209(see FIG. 12). The start address Pstart is a start address of an areawhere the converted address data is stored.

In the step S207, the calculating means 1d adds a reference addressnumber k to the address pointer P. The value of the reference addressnumber k represents a storage capacity required for storing two addressdata.

In a next step S208, the guide information managing means 1m stores thetwo-dimensional converted address data (x, y) corresponding to the tailof the arrow in an area of the main memory 5 which is indicated by theaddress pointer P. Then, the object-throwing guide display subroutinecomes to an end.

In the step S209 shown in FIG. 12, the calculating means 1d determineswhether the value of the address pointer P is smaller than thedifference produced when the reference address number k is subtractedfrom the sum of the start address Pstart and a maximum stored numbernmax of converted address data or no. If the value of the addresspointer P is smaller than the difference (YES), then control goes to astep S210. If not (NO), then control jumps to a step S211. The maximumstored number nmax of converted address data has a minimum unit of k.The step S209 is carried out to limit the value of the address pointer Pfor thereby making arcuate in shape the path represented by the trailLo. If the value of the address pointer P not limited in the step S209,then the path represented by the trail Lo would be circular in shape.

In the step S210, the calculating means 1d adds the reference addressnumber k to the address pointer P.

In the step S211, the value of the address pointer P is substituted in arearward address AD.

In a step S212, the guide information managing means 1m substitutes avalue which is smaller than the value of the address pointer P by "k" ina forward address ad. The value represented by the rearward address ADand the value represented by the forward address ad are related asfollows:

    AD<ad.

In a step S213, the guide information managing means 1m stores theconverted address data (x, y) stored in an area of the main memory 5which is indicated by the forward address ad into an area of the mainmemory 5 which is indicated by the rearward address AD.

In a step S214, the calculating means 1d subtracts the reference addressnumber k from the rearward address AD.

In a step S215, the calculating means 1d subtracts the reference addressnumber k from the forward address ad.

In a step S216, the decision means 1f determines whether or not thevalue of the forward address ad is equal to or smaller than the sum ofthe start address Pstart and the reference address number k. If thevalue of the forward address ad is equal to or smaller than the sum ofthe start address Pstart and the reference address number k (YES), thencontrol proceeds to a step S217. If not (NO), then control goes back tothe step S213.

The steps S209˜S216 serve as a process for shifting the convertedaddress data (x, y) corresponding to the tail of the arrow successivelyto areas indicated by greater addresses, and function as a shiftregister. The address pointer P is substituted in the rearward addressAD in the step S211 and the data which is smaller than the addresspointer P by "k" is substituted in the forward address ad in the stepS212 for the purpose of storing the converted address data (x, y) storedin the area indicated by the forward address ad into the area indicatedby the rearward address AD. This process functions as a shift register.The reference address number k is subtracted from the rearward addressAD in the step S214, the reference address number k is subtracted fromthe forward address ad in the step S215, and whether or not the value ofthe forward address ad is equal to or smaller than the sum of the startaddress Pstart and the reference address number k is determined in thestep S216 in order to determine whether there is an area available forstoring the converted address data (x, y) stored in the forward addressad. If the value of the forward address ad is equal to or smaller thanthe sum of the start address Pstart and the reference address number k,then there is no storage area corresponding to the rearward address AD.

In the step S217, the guide information managing means 1m stores theconverted address data (x, y) of a two-dimensional vertex correspondingto the tail of the arrow into an area of the main memory 5 which isindicated by the rearward address AD.

In a step S218, the variable setting means 1h places the sum of thestart address Pstart and the reference address number k in a firstaddress AD1 of the main memory 5.

In a step S219, the variable setting means 1h places the sum of thestart address Pstart and a value 2k which is twice the reference addressnumber k in a second address AD2 of the main memory 5.

In a step S220 (see FIG. 13), the guide information managing means 1mreads the converted address data (x, y) from the first and secondaddresses AD1, AD2 of the main memory 5, and supplies the convertedaddress data (x, y) together with texture address data and color palletdata as a graphic command to the graphic processor 10. The data storedin the first address AD1 of the main memory is the converted addressdata corresponding to the tail of the arrow which is displayed at thepresent time. The data stored in the second address AD2 of the mainmemory is the converted address data corresponding to the tail of thearrow which was displayed at a time that precedes the present time by aunit period. Therefore, the converted address data (x, y) of the tail ofthe arrow which is displayed at the present time and also the convertedaddress data (x, y) of the tail of the arrow which was displayed at thetime that precedes the present time by the unit period are supplied asaddress data of one image to the graphic processor 10. Therefore, thegraphic processor 10 writes the texture data of the arrow as texturedata of the trail Lo into the display area of the buffer 11 based on theabove four items of the converted address data (x, y). The color of thetrail Lo displayed at this time is the same as the color of the arrow Nawhich is being displayed at the present time.

In a step S221, the calculating mans 1d adds the reference addressnumber k to the first address AD1.

In a step S222, the calculating mans 1d adds the reference addressnumber k to the second address AD2.

In a step S223, the decision means 1f determines whether or not thevalue of the first address AD1 is equal to or greater than the value ofthe address pointer P. If the value of the first address AD1 is equal toor greater than the value of the address pointer P (YES), then theobject-throwing guide display subroutine is brought to an end. If not(NO), then control goes back to the step S220.

The steps S217˜S223 serve to supply two areas of the converted addressdata (x, y) stored in the main memory 5 as vertex address data of asingle rectangular shape to the graphic processor 10. The sum of thestart address Pstart and the reference address number k are placed inthe first address AD1 in the step S218, and the sum of the start addressPstart and the value 2k which is twice the reference address number k isplaced in the second address AD2 in the step S218 in order to supply theconverted address data (x, y) corresponding to the tail of an arrow andthe converted address data (x, y) corresponding to the tail of an arrowwhich is displayed as preceding the above arrow as converted addressdata of one image to the graphic processor 10.

The reference address number k is added to the first address AD1 in thestep S221, the reference address number k is added to the second addressAD2 in the step S222, and whether or not the value of the first addressAD1 is equal to or greater than the value of the address pointer P isdetermined in the step S223 in order to determine whether or not thereis converted address data (x, y) in the second address AD2 which is tobe paired with the converted address data (x, y) in the first addressAD1. If the value of the first address AD1 is equal to or greater thanthe value of the address pointer P, then there is no correspondingconverted address data (x, y) in the second address AD2.

In the illustrated embodiment, the color of the arrow Na is variabledepending on the number of turns which the throwing body has made.However, the color of the arrow Na may be changed based on anaccumulated value of the throwing orientation angle data Ah, so that thecolor of the arrow Na may be changed in finer variations. In thismodification, the color of the arrow Na is also changed from a coldcolor to a warm color as the accumulated value increases. Because thearrow Na can be displayed in an increased number of colors, it permitsthe game player to recognize the time at which to hurl the object withgreater accuracy.

In the illustrated embodiment, the displayed image of the trail Lo hasthe same color as the displayed image of the arrow Na. However, thedisplayed image of the trail Lo may be white in color. Since the gameplayer can visually distinguish the different colors of the trail Lo andthe arrow Na reliably from each other, the game player can visuallyperceive the throwing direction without fail.

In the illustrated embodiment, the color of the arrow Na is changeddepending on the number of turns that the throwing body has made.However, the color of the arrow Na may be changed from a cold color to awarm color as the value of the throwing energy increases. The arrow Nathus displayed is effective to give the game player an easilyrecognizable visual guide as to the time at which the object is to behurled for a greater distance.

Although a certain preferred embodiment of the present invention hasbeen shown and described in detail, it should be understood that variouschanges and modifications may be made therein without departing from thescope of the appended claims.

What is claimed is:
 1. A method of displaying an object-throwing guidein an object-throwing video game, comprising the steps of:displaying atleast an image of a throwing body and an image of an object to bevisually hurled from said throwing body in a game space on a displayscreen; controlling said image of the throwing body to visually move inpreparation for visually hurling said image of the object in said gamespace in response to manual operation of a controller; controlling saidimage of the object to be visually hurled from said image of thethrowing body in said game space in response to manual operation of thecontroller; and displaying an image of an object-throwing guide in saidgame space to indicate a throwing direction in which to hurl the imageof the object from the image of the throwing body and whichprogressively varies depending on the movement of said image of thethrowing body for visually hurling said image of the object.
 2. A methodaccording to claim 1, wherein said step of controlling said image of thethrowing body comprises the step of controlling said image of thethrowing body to turn along an arc or rotate about a center in said gamespace.
 3. A method according to claim 2, wherein said step of displayingthe image of the object-throwing guide comprises the step of displayingthe image of the object-throwing guide at successive positions on atrail depending on the movement of said image of the throwing body.
 4. Amethod according to claim 2, wherein said step of displaying the imageof the object-throwing guide comprises the step of displaying the imageof the object-throwing guide along an image of a path along said arc orabout said center at successive positions on a trail depending on themovement of said image of the throwing body.
 5. A method according toclaim 4, further comprising the step of generating said image of thepath based on coordinate information of the image of the object-throwingguide which is displayed in said game space at a present time andcoordinate information of the image of the object-throwing guide whichwas displayed in said game space at a time which precedes said presenttime by a predetermined period.
 6. A method according to claim 1,wherein said step of displaying the image of the object-throwing guidecomprises the step of three-dimensionally displaying the image of theobject-throwing guide in said game space.
 7. A method according to claim1, wherein said image of the object-throwing guide comprises asubstantially arrow-shaped image shaped for pointing said throwingdirection.
 8. A method according to claim 1, wherein said step ofdisplaying the image of the object-throwing guide comprises the step ofchanging colors of said image of the object-throwing guide depending onmovement of the image of the throwing body along an arc or about acenter in said game space.
 9. A method according to claim 8, whereinsaid step of changing colors of said image of the object-throwing guidecomprises the step of changing said colors successively from a coldcolor to a warm color.
 10. A method of displaying an object-throwingguide in an object-throwing video game, comprising the stepsof:displaying at least a throwing body and an object to be virtuallyhurled by the throwing body in a game space on a display screen;controlling the displayed throwing body to move in preparation forhurling the displayed object in the game space in response to manualoperation of a controller; controlling the displayed object to be hurledfrom the displayed throwing body in the game space in response to manualoperation of the controller; and displaying an object-throwing guide inthe game space to indicate a throwing direction in which the displayedobject is to be hurled from the displayed throwing body and whichprogressively varies depending on the movement of the displayed throwingbody for hurling the displayed object.
 11. A method according to claim10, wherein said step of displaying the object-throwing guide comprisingthe steps of:acquiring linear and angular displacements of the displayedobject-throwing guide based on throwing angle information of thedisplayed object based on operation of the controller; acquiring addressdata in a memory of the displayed object-throwing guide based oncoordinate information of the displayed object-throwing guide and theacquired linear and angular displacements; and supplying a graphiccommand comprising at least address data in the memory of representativepoints of the displayed object-throwing guide, information forindicating color information of the displayed object-throwing guide, andtexture information of the displayed object-throwing guide to displaythe object-throwing guide.
 12. A method according to claim 11, whereinsaid step of supplying said graphic command comprises the step ofchanging colors of said displayed object-throwing guide depending onmovement of the displayed throwing body along an arc or about a centerin said game space.
 13. A method according to claim 12, wherein saidstep of changing colors of said displayed object-throwing guidecomprises the step of changing said colors successively from a coldcolor to a warm color.
 14. A method according to claim 10, furthercomprising the step of generating an image of a trail of the displayedobject-throwing guide, said step of generating the image of the trailcomprising the steps of:storing address data in a memory of thedisplayed object-throwing guide; and supplying one set of address dataextracted from address data in the memory of two present and past imagesof the displayed object-throwing guide, information for indicating acolor of the displayed object-throwing guide, and texture information ofthe displayed object-throwing guide to generate and display the image ofthe trail of the displayed object-throwing guide.
 15. A method accordingto claim 10, wherein said step of controlling said displayed throwingbody comprises the step of controlling said displayed throwing body toturn along an arc or rotate about a center in said game space.
 16. Amethod according to claim 15, wherein said step of displaying theobject-throwing guide comprises the step of displaying theobject-throwing guide at successive positions on a trail depending onthe movement of said displayed throwing body.
 17. A method according toclaim 15, wherein said step of displaying the object-throwing guidecomprises the step of displaying the object-throwing guide along animage of a path along said arc or about said center at successivepositions on a trail depending on the movement of said displayedthrowing body.
 18. A method according to claim 10, wherein said step ofdisplaying the object-throwing guide comprises the step ofthree-dimensionally displaying the object-throwing guide in said gamespace.
 19. A method according to claim 10, wherein said displayedobject-throwing guide comprises a substantially arrow-shaped imageshaped for pointing said throwing direction.
 20. An object-throwingvideo game system comprising:display means for displaying at least animage of a throwing body and an image of an object to be visually hurledfrom said throwing body in a game space; and control means forcontrolling said image of the throwing body to visually move inpreparation for visually hurling said image of the object in said gamespace in response to manual operation of a controller, and controllingsaid image of the object to be visually hurled from said image of thethrowing body in said game space in response to manual operation of thecontroller; said control means comprising means for displaying an imageof an object-throwing guide in said game space to indicate a throwingdirection in which to hurl the image of the object from the image of thethrowing body and which progressively varies depending on the movementof said image of the throwing body for visually hurling said image ofthe object.
 21. An object-throwing video game system according to claim20, wherein said control means comprises means for controlling saidimage of the throwing body to turn along an arc or rotate about a centerin said game space.
 22. An object-throwing video game system accordingto claim 21, wherein said control means comprises means for displayingthe image of the object-throwing guide at successive positions on atrail depending on the movement of said image of the throwing body. 23.An object-throwing video game system according to claim 21, wherein saidcontrol means comprises means for displaying the image of theobject-throwing guide along an image of a path along said arc or aboutsaid center at successive positions on a trail depending on the movementof said image of the throwing body.
 24. An object-throwing video gamesystem according to claim 23, wherein said control means comprises meansfor generating said image of the path based on coordinate information ofthe image of the object-throwing guide which is displayed in said gamespace at a present time and coordinate information of the image of theobject-throwing guide which was displayed in said game space at a timewhich precedes said present time by a predetermined period.
 25. Anobject-throwing video game system according to claim 20, wherein saidcontrol means comprises means for three-dimensionally displaying theimage of the object-throwing guide in said game space.
 26. Anobject-throwing video game system according to claim 20, wherein saidimage of the object-throwing guide comprises a substantiallyarrow-shaped image shaped for pointing said throwing direction.
 27. Anobject-throwing video game system according to claim 20, wherein saidcontrol means comprises means for changing colors of said image of theobject-throwing guide depending on movement of the image of the throwingbody along an arc or about a center in said game space.
 28. Anobject-throwing video game system according to claim 27, wherein saidcontrol means comprises means for changing said colors successively froma cold color to a warm color.